package com.ygqh.baby.service;

import com.ygqh.baby.ao.InformType;
import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.ao.ResultSet;
import com.ygqh.baby.model.UserInformModel;
import com.ygqh.baby.po.YgInformUser;

import java.util.List;

/**
 * @author Ss
 */
public interface YgInformUserService {

	List<YgInformUser> find();

	int findCount();

	YgInformUser findById(Long id);

	int deleteSoft(Long[] ids);

	int deleteSoft(Long id);

	int save(YgInformUser ygInformUser);

	int update(YgInformUser ygInformUser);

	int saveOrUpdate(YgInformUser ygInformUser);

	ResultSet<YgInformUser> search(QueryInfo queryInfo, String q);

	/**
	 * 获取最新消息
	 *
	 * @param userId 用户id
	 * @return
	 */
	UserInformModel findLatest(Long userId);

	/**
	 * 消息列表
	 *
	 * @param queryInfo  分页
	 * @param userId     用户id
	 * @param readStatus 是否已读
	 * @return
	 */
	List<UserInformModel> findInformList(QueryInfo queryInfo, Long userId, Boolean readStatus);

	/**
	 * 全部更新为已读
	 *
	 * @param userId 用户id
	 * @return
	 */
	int updateByReadAll(Long userId);

	List<UserInformModel> findByUserId(Long userId, InformType informType);
}
